
#ifndef EXECONTEXTREPOSITORY_H
#define	EXECONTEXTREPOSITORY_H

#include "ExeContext.h"
#include "../../List.h"

#ifdef	__cplusplus
extern "C" {
#endif

typedef struct ECTXTEntry {
    ExeContext* Data;
    struct ECTXTEntry **Children;
    List *ContextList;
} ECTXTEntry;

ECTXTEntry* ECTXTRNew();
void        ECTXTRInsert(ECTXTEntry *EntryPoints, ExeContext* Context);
ExeContext* ECTXTRSearch(ECTXTEntry *Entry, ExeContext* Context);

#ifdef	__cplusplus
}
#endif

#endif	/* EXECONTEXTREPOSITORY_H */

